<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>封装setTimerout定时器</title>
</head>
<body>
    
</body>
<script>
    // 老方法  
    // setTimeout(()=>{
    //     console.log('Jimmy is good guy')
    // },0)
    // setTimeout(()=>{
    //     console.log('xuexue is good girl')
    // },0)
    // 使用Promise封装后

    // 当有新的方法出来的时候 我们就应该尽量使用新的方法  应该它的逻辑是更加清晰的
    function timer(delay){
        return new Promise((resolve,reject)=>{
            // 正确写法
            setTimeout(resolve,delay)
            // 错误写法
            setTimeout(()=>{   //因为setTimeout的第一个参数就是函数  不是函数一脸的内容
                resolve
            },delay)
        })
    }
    timer(2000).then(()=>{
        console.log('jimmy')
        return timer(2000)
    }).then(()=>{
        console.log('xuexue')
    }).catch((res)=>{
        console.log(res)
    })
</script>
</html>